Some types of computing systems have a number of nodes. A node may include one or more processors, and may also include its own memory and/or storage devices. For example, a multiple-node computing system may include a number of discrete computing devices, such as server computing devices, which correspond to the nodes of the computing system. As another example, a multiple-node computing system may include a number of processors within a single integrated circuit (IC) chip, which is commonly referred to as chip multiprocessors (CMP's). The processors on such an IC chip may be divided over a number of nodes of the multiple-node computing system, where each node includes one or more of the processors on the IC chip.
Simulating the execution of a multiple-node computing system can be difficult. While the nodes of such a computing system may execute in parallel with one another, at times the nodes may send inter-node data packets to each other that require simulation of their execution to be synchronized. If the timing of the inter-node data packets is ignored—i.e., when the inter-node data packets are received by their destination nodes—then simulation can occur more quickly, but simulation accuracy suffers. By comparison, if the timing of the inter-node data packets is always accounted for, then simulation accuracy can be guaranteed, but simulation completion time suffers.